package effective.enumannotaion;

public enum Planet {

	MERCURY(3.302E+23, 2.439e6), VENUS(4.869E+24, 6.052e6), EARTH(5.975E+24,
			6.378e6), MARS(6.419E+23, 3.393e6), JUPITER(1.899E+27, 7.149e7), SATURN(
			5.685 + 26, 6.027e7), URANUS(8.683E+25, 2.556e7), NEPTUNE(
			1.024E+26, 2.477e7);

	private final double mass;
	private final double radius;
	private final double surfaceGravity;

	private static final double G = 6.67300E-11;

	private Planet(double mass, double radius) {
		this.mass = mass;
		this.radius = radius;
		this.surfaceGravity = G * mass / (radius * radius);
	}

	public double mass() {
		return this.mass;
	}

	public double radius() {
		return this.radius;
	}

	public double surfaceGravity() {
		return this.surfaceGravity;
	}

	public double surfaceWeight(double mass) {
		return mass * this.surfaceGravity;
	}
}
